Arduino 打造一个音量计

您所在的位置:网站首页 arduino com Arduino 打造一个音量计

Arduino 打造一个音量计

#Arduino 打造一个音量计| 来源: 网络整理| 查看: 265

根据上一次的LM386的设计【参考1】,以及网上的设计【参考2】,用Arduino做一个音量计。首先,音频从MIC进入,经过LM386的放大后接入到Arduino的模拟输入上,经过 DAC 量化之后显示在 1602上。

电路方面,和【参考1】差别在于我们不再使用喇叭而是直接将放大后的OUT信号接入到 Arduino的A5上。

显示方面,我们使用【参考3】提到的方法来自定义字符充当强度指示。

下面的图片与其说是原理图不如说是连接图更合适

vu1

//www.lab-z.com //在 1602 上显示音量的小程序 #include #include "LiquidCrystal_I2C.h" int value=100; // custom charaters LiquidCrystal_I2C lcd(0x27,16,2); //定义进度块 byte p1[8] = { 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10}; byte p2[8] = { 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18}; byte p3[8] = { 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C}; byte p4[8] = { 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E}; byte p5[8] = { 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F}; void setup() { lcd.init(); //初始化LCD lcd.backlight(); //打开背光 //将自定义的字符块发送给LCD //P1 是第一个,P2 是第二个,以此类推 lcd.createChar(0, p1); lcd.createChar(1, p2); lcd.createChar(2, p3); lcd.createChar(3, p4); lcd.createChar(4, p5); //MIC输入放大之后在 A0 输入Arduino pinMode(A0, INPUT); } //显示音量强度 //从左到右一共有 5 * 16 =80 点,一共是 80+1=81 个状态 void showprg(int value) { //第一行显示当前VU值 lcd.setCursor(0,0); lcd.print(" VU="); lcd.print(value); //移动光标到第二行 lcd.setCursor(0,1); //显示全黑的块 for (int i=1;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3